<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">




<title>Castle ActiveRecord学习实践（10）：深度分析Schema Pitfals - TerryLee's Tech Space - 博客园</title>
<meta name="keywords" content="11,数据持久,12,开源世界,Castle,ActiveRecord学习实践,10,深度分析Schema,Pitfals">
<meta name="description" content="写这篇文章缘于昨天跟Linkin的一段聊天。我在使用ActiveRecord的一些技巧一文中的由实体类生成数据库表提到了这样一句话：生成数据库表时只有当该表不存在时ActiveRecord才会生成，否则表如果存在ActiveRecord不会做任何事情，也不会报任何错误。Linkin说他在实验时如果数据库表存在，ActiveRecord会删除表中的记录，其实这句话是在有些情况下是不对的，本篇文章将详细介绍Castle ActiveRecord中的Schema Pitfals。主要内容1．引言2．CreateSchema和DropSchema3．CreateSchemaFromFile4．GenerateCreationScripts和GenerateD">




<link title="RSS" type="application/rss+xml" rel="alternate" href="http://www.cnblogs.com/Terrylee/rss">
<link title="RSD" type="application/rsd+xml" rel="EditURI" href="http://www.cnblogs.com/Terrylee/rsd.xml"> 
  



<link rel="stylesheet" type="text/css" href="index.css" media="all">
</head>
<body>
    <form name="Form1" method="post" action="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html" id="Form1">
<div>
<input name="__EVENTTARGET" id="__EVENTTARGET" value="" type="hidden">
<input name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" type="hidden">
<input name="__VIEWSTATE" id="__VIEWSTATE" value="" type="hidden">
</div>




        <link rel="shortcut icon" href="blogengine.ico">
<!--done-->
<div id="home">
<div id="header">
	<div id="blogTitle">
	<a id="lnkBlogLogo" href="http://www.cnblogs.com/Terrylee/"><img id="blogLogo" src="logo.gif" alt="返回主页"></a>			
		
<!--done-->
<h1><a id="Header1_HeaderTitle" class="headermaintitle" href="http://www.cnblogs.com/Terrylee/">TerryLee's Tech Space</a></h1>
<h2>TerryLee技术专栏</h2>



		
	</div><!--end: blogTitle 博客的标题和副标题 -->
	<div id="navigator">
		
<!--done-->
			<ul id="navList">
				<li><a id="MyLinks1_HomeLink" class="menu" href="http://www.cnblogs.com/">博客园</a></li>
				<li><a id="MyLinks1_SpaceLink" class="menu" href="http://space.cnblogs.com/">社区</a></li>
				<li><a id="MyLinks1_MyHomeLink" class="menu" href="http://www.cnblogs.com/Terrylee/">首页</a></li>
				<li><a id="MyLinks1_NewPostLink" class="menu" href="http://www.cnblogs.com/Terrylee/admin/EditPosts.aspx?opt=1">新随笔</a></li>
				<li><a id="MyLinks1_ContactLink" accesskey="9" class="menu" href="http://space.cnblogs.com/msg/send/TerryLee">联系</a></li>
				<li><a id="MyLinks1_Admin" class="menu" href="http://www.cnblogs.com/Terrylee/admin/EditPosts.aspx">管理</a></li>
				<li><a id="MyLinks1_Syndication" class="menu" href="http://www.cnblogs.com/Terrylee/rss">订阅</a>
				<a id="MyLinks1_XMLLink" class="aHeaderXML" href="http://www.cnblogs.com/Terrylee/rss"><img src="rss.gif" alt="订阅" style="border-width: 0px;"></a></li>
			</ul>


		<div class="blogStats">
			
			
<!--done-->
随笔- 491&nbsp;
文章- 3&nbsp;
评论- 15367&nbsp;

			
		</div><!--end: blogStats -->
	</div><!--end: navigator 博客导航栏 -->
</div><!--end: header 头部 -->

<div id="main">
	<div id="mainContent">
	<div class="forFlow">
		
					
<!--done-->
<div id="topics">
	<div class="post">
		<h1 class="postTitle">
			<a id="ctl04_TitleUrl" class="postTitle2" href="http://www.cnblogs.com/Terrylee/archive/2006/04/27/386158.html">Castle ActiveRecord学习实践（10）：深度分析Schema Pitfals</a>
		</h1>
		<div class="clear"></div>
		<div class="postBody">
			<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">摘要：写这篇文章缘于昨天跟<span lang="EN-US">Linkin</span>的一段聊天。我在使用<span lang="EN-US">ActiveRecord</span>的一些技巧一文中的由实体类生成数据库表提到了这样一句</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">话：生成数据库表时只有当该表不存在时</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US">ActiveRecord</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">才会生成，否则表如果存在</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US">ActiveRecord</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">不会做任何事情，也不会报任何错误。</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US">Linkin</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">说他在实验时如果数据库表存在，</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US">ActiveRecord</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">会删除表中的记录，其实这句话是在有些情况下是不对的，</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">本篇文章将详细介绍<span lang="EN-US">Castle ActiveRecord</span>中的<span lang="EN-US">Schema Pitfals</span>。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><b style=""><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">主要内容<span lang="EN-US"><o:p></o:p></span></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">1</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">．引言<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">2</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">．<span lang="EN-US">CreateSchema</span>和<span lang="EN-US">DropSchema<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">3</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">．<span lang="EN-US">CreateSchemaFromFile<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">4</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">．</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">GenerateCreationScripts</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">和<span lang="EN-US">GenerateDropScripts<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;">一．引言<span lang="EN-US"><o:p></o:p></span></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">我在<span lang="EN-US"><span style="font-size: 10pt; color: rgb(51, 102, 255); font-family: 宋体;" lang="EN-US"><a href="http://terrylee.cnblogs.com/archive/2006/04/14/374829.html"><span style="color: rgb(51, 102, 255); text-decoration: none;">Castle ActiveRecord</span><span style="color: rgb(51, 102, 255); text-decoration: none;" lang="EN-US"><span lang="EN-US">学习实践（9</span></span><span style="color: rgb(51, 102, 255); text-decoration: none;" lang="EN-US"><span lang="EN-US">）：使用ActiveRecord</span></span><span style="color: rgb(51, 102, 255); text-decoration: none;" lang="EN-US"><span lang="EN-US">的一些技巧</span></span></a></span></span>一文中的由实体类生成数据库表提到了这样一句话：</span><span style="font-size: 10pt; color: rgb(255, 51, 0); line-height: 200%; font-family: 宋体;">生成数据库表时只有当该表不存在时</span><span style="font-size: 10pt; color: rgb(255, 51, 0); line-height: 200%;" lang="EN-US">ActiveRecord</span><span style="font-size: 10pt; color: rgb(255, 51, 0); line-height: 200%; font-family: 宋体;">才会生成，否则表如果存在</span><span style="font-size: 10pt; color: rgb(255, 51, 0); line-height: 200%;" lang="EN-US">ActiveRecord</span><span style="font-size: 10pt; color: rgb(255, 51, 0); line-height: 200%; font-family: 宋体;">不会做任何事情，也不会报任何错误</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">。</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><span style="font-size: 10pt; color: rgb(51, 102, 255); font-family: 宋体;" lang="EN-US"><a href="http://linkin.cnblogs.com/"><span style="color: rgb(51, 102, 255); text-decoration: none;">Linkin</span></a></span></span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">说他在实验时如果数据库表存在，</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US">ActiveRecord</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">会删除表中的记录，其实那句话是在有些情况下是不对的，通过后面的分析我们会看到。</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%;" lang="EN-US">Castle ActiveRecord</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">为我们提供了由实体类生成数据库表的方法，它其实在底层是封装了</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">NHibernate<span style="color: fuchsia;">.</span>Tool<span style="color: fuchsia;">.</span>hbm2ddl</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">中的<span lang="EN-US">SchemaExport</span>，既创建数据库表的方法都是通过<span lang="EN-US">SchemaExport</span>类来完成了，所有的这些方法都在<span lang="EN-US">ActiveRecordStarter</span>中提供，列表如下：<span lang="EN-US"><o:p></o:p></span></span></p>
<table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0">
    <tbody>
        <tr style="">
            <td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; width: 95.4pt;" valign="top" width="127">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%; text-align: center;" align="center"><b style=""><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">方</span></b><b style=""><span style="font-size: 10pt; line-height: 200%;"> <span style="">&nbsp;</span></span></b><b style=""><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">法</span></b><b style=""><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></b></p>
            </td>
            <td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(212, 208, 200); border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; width: 330.7pt;" valign="top" width="441">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%; text-align: center;" align="center"><b style=""><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">示</span></b><b style=""><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><span style="">&nbsp; </span></span></b><b style=""><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">例</span></b><b style=""><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></b></p>
            </td>
        </tr>
        <tr style="">
            <td style="border-style: none solid solid; border-color: rgb(212, 208, 200) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 95.4pt; background-color: transparent;" valign="top" width="127">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">CreateSchema()</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></p>
            </td>
            <td style="border-style: none solid solid none; border-color: rgb(212, 208, 200) windowtext windowtext rgb(212, 208, 200); border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 330.7pt; background-color: transparent;" valign="top" width="441">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">ActiveRecordStarter<span style="color: fuchsia;">.</span>CreateSchema();</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="">
            <td style="border-style: none solid solid; border-color: rgb(212, 208, 200) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 95.4pt; background-color: transparent;" valign="top" width="127">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">CreateSchemaFromFile()</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></p>
            </td>
            <td style="border-style: none solid solid none; border-color: rgb(212, 208, 200) windowtext windowtext rgb(212, 208, 200); border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 330.7pt; background-color: transparent;" valign="top" width="441">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">ActiveRecordStarter<span style="color: fuchsia;">.</span>CreateSchemaFromFile(<span style="color: maroon;">"blog.sql"</span>);</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="">
            <td style="border-style: none solid solid; border-color: rgb(212, 208, 200) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 95.4pt; background-color: transparent;" valign="top" width="127">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">DropSchema</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"> ()<o:p></o:p></span></p>
            </td>
            <td style="border-style: none solid solid none; border-color: rgb(212, 208, 200) windowtext windowtext rgb(212, 208, 200); border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 330.7pt; background-color: transparent;" valign="top" width="441">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">ActiveRecordStarter<span style="color: fuchsia;">.</span>DropSchema();</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="">
            <td style="border-style: none solid solid; border-color: rgb(212, 208, 200) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 95.4pt; background-color: transparent;" valign="top" width="127">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">GenerateDropScripts()</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></p>
            </td>
            <td style="border-style: none solid solid none; border-color: rgb(212, 208, 200) windowtext windowtext rgb(212, 208, 200); border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 330.7pt; background-color: transparent;" valign="top" width="441">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">ActiveRecordStarter<span style="color: fuchsia;">.</span>GenerateDropScripts(<span style="color: maroon;">"blog.sql"</span>);</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="">
            <td style="border-style: none solid solid; border-color: rgb(212, 208, 200) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 95.4pt; background-color: transparent;" valign="top" width="127">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">GenerateCreationScripts()</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></p>
            </td>
            <td style="border-style: none solid solid none; border-color: rgb(212, 208, 200) windowtext windowtext rgb(212, 208, 200); border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 330.7pt; background-color: transparent;" valign="top" width="441">
            <p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">ActiveRecordStarter<span style="color: fuchsia;">.</span>GenerateCreationScripts(<span style="color: maroon;">"blog.sql"</span>);</span><span style="font-size: 10pt; line-height: 200%;" lang="EN-US"><o:p></o:p></span></p>
            </td>
        </tr>
    </tbody>
</table>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;">二．</span></b><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;" lang="EN-US">CreateSchema</span></b><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;">和</span></b><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%;" lang="EN-US">DropSchema</span></b><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;" lang="EN-US"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">CreateSchema</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">根据实体类来生成数据库表，在调用<span lang="EN-US">ActiveRecordStarter<span style="color: fuchsia;">.</span>CreateSchema()</span>之后，我们来看一下<span lang="EN-US">ActiveRecord</span>中执行了什么操作：</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;"></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="none.gif" align="top"><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">static</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;CreateSchema()<br><img id="Codehighlighter1_34_422_Open_Image" onclick="this.style.display='none'; Codehighlighter1_34_422_Open_Text.style.display='none'; Codehighlighter1_34_422_Closed_Image.style.display='inline'; Codehighlighter1_34_422_Closed_Text.style.display='inline';" src="expandedblockstart.gif" align="top"><img id="Codehighlighter1_34_422_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_34_422_Closed_Text.style.display='none'; Codehighlighter1_34_422_Open_Image.style.display='inline'; Codehighlighter1_34_422_Open_Text.style.display='inline';" src="contractedblock.gif" align="top"></span><span id="Codehighlighter1_34_422_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_34_422_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;CheckInitialized();<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">foreach</span><span style="color: rgb(0, 0, 0);">(Configuration&nbsp;config&nbsp;</span><span style="color: rgb(0, 0, 255);">in</span><span style="color: rgb(0, 0, 0);">&nbsp;ActiveRecordBase._holder.GetAllConfigurations())<br><img src="inblock.gif" align="top"><br><img id="Codehighlighter1_151_420_Open_Image" onclick="this.style.display='none'; Codehighlighter1_151_420_Open_Text.style.display='none'; Codehighlighter1_151_420_Closed_Image.style.display='inline'; Codehighlighter1_151_420_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_151_420_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_151_420_Closed_Text.style.display='none'; Codehighlighter1_151_420_Open_Image.style.display='inline'; Codehighlighter1_151_420_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_151_420_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_151_420_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SchemaExport&nbsp;export&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;CreateSchemaExport(config);<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);"><br><img id="Codehighlighter1_232_284_Open_Image" onclick="this.style.display='none'; Codehighlighter1_232_284_Open_Text.style.display='none'; Codehighlighter1_232_284_Closed_Image.style.display='inline'; Codehighlighter1_232_284_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_232_284_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_232_284_Closed_Text.style.display='none'; Codehighlighter1_232_284_Open_Image.style.display='inline'; Codehighlighter1_232_284_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_232_284_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_232_284_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export.Create(&nbsp;</span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">&nbsp;);<br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">(Exception&nbsp;ex)<br><img id="Codehighlighter1_322_414_Open_Image" onclick="this.style.display='none'; Codehighlighter1_322_414_Open_Text.style.display='none'; Codehighlighter1_322_414_Closed_Image.style.display='inline'; Codehighlighter1_322_414_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_322_414_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_322_414_Closed_Text.style.display='none'; Codehighlighter1_322_414_Open_Image.style.display='inline'; Codehighlighter1_322_414_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_322_414_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_322_414_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">throw</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;ActiveRecordException(&nbsp;</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">Could&nbsp;not&nbsp;create&nbsp;the&nbsp;schema</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,&nbsp;ex&nbsp;);<br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="expandedblockend.gif" align="top">}</span></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%; text-align: left;" align="left">可以看到在<span lang="EN-US">ActiveRecord</span>中，仅仅是调用了<span lang="EN-US">NHibernate</span>中的<span lang="EN-US">SchemaExport</span>的<span lang="EN-US">Create</span>方法，并传递了两个参数分别为<span lang="EN-US">fasle</span>，<span lang="EN-US">true</span>。现在我们跟踪代码到<span lang="EN-US">NHibernate</span>中：<span style="font-size: 10pt; line-height: 200%; font-family: 宋体;"></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="none.gif" align="top"><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;Create(&nbsp;</span><span style="color: rgb(0, 0, 255);">bool</span><span style="color: rgb(0, 0, 0);">&nbsp;script,&nbsp;</span><span style="color: rgb(0, 0, 255);">bool</span><span style="color: rgb(0, 0, 0);">&nbsp;export&nbsp;)<br><img id="Codehighlighter1_47_93_Open_Image" onclick="this.style.display='none'; Codehighlighter1_47_93_Open_Text.style.display='none'; Codehighlighter1_47_93_Closed_Image.style.display='inline'; Codehighlighter1_47_93_Closed_Text.style.display='inline';" src="expandedblockstart.gif" align="top"><img id="Codehighlighter1_47_93_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_47_93_Closed_Text.style.display='none'; Codehighlighter1_47_93_Open_Image.style.display='inline'; Codehighlighter1_47_93_Open_Text.style.display='inline';" src="contractedblock.gif" align="top"></span><span id="Codehighlighter1_47_93_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_47_93_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;Execute(&nbsp;script,&nbsp;export,&nbsp;</span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">&nbsp;);<br><img src="expandedblockend.gif" align="top">}</span></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%; text-align: left;" align="left">其中的<span lang="EN-US">Execute</span>实现如下，为了简单起见，我省略了部分代码：<span style="font-size: 10pt; line-height: 200%; font-family: 宋体;"></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="none.gif" align="top"><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;Execute(&nbsp;</span><span style="color: rgb(0, 0, 255);">bool</span><span style="color: rgb(0, 0, 0);">&nbsp;script,&nbsp;</span><span style="color: rgb(0, 0, 255);">bool</span><span style="color: rgb(0, 0, 0);">&nbsp;export,&nbsp;</span><span style="color: rgb(0, 0, 255);">bool</span><span style="color: rgb(0, 0, 0);">&nbsp;justDrop,&nbsp;</span><span style="color: rgb(0, 0, 255);">bool</span><span style="color: rgb(0, 0, 0);">&nbsp;format&nbsp;)<br><img id="Codehighlighter1_76_865_Open_Image" onclick="this.style.display='none'; Codehighlighter1_76_865_Open_Text.style.display='none'; Codehighlighter1_76_865_Closed_Image.style.display='inline'; Codehighlighter1_76_865_Closed_Text.style.display='inline';" src="expandedblockstart.gif" align="top"><img id="Codehighlighter1_76_865_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_76_865_Closed_Text.style.display='none'; Codehighlighter1_76_865_Open_Image.style.display='inline'; Codehighlighter1_76_865_Open_Text.style.display='inline';" src="contractedblock.gif" align="top"></span><span id="Codehighlighter1_76_865_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_76_865_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;IDbConnection&nbsp;connection&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">;<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;StreamWriter&nbsp;fileOutput&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">;<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;IConnectionProvider&nbsp;connectionProvider&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">;<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;IDbCommand&nbsp;statement&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">;<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"><img src="dot.gif"><img src="dot.gif"></span><span style="color: rgb(0, 128, 0);"><br><img src="inblock.gif" align="top"></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);"><br><img id="Codehighlighter1_265_762_Open_Image" onclick="this.style.display='none'; Codehighlighter1_265_762_Open_Text.style.display='none'; Codehighlighter1_265_762_Closed_Image.style.display='inline'; Codehighlighter1_265_762_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_265_762_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_265_762_Closed_Text.style.display='none'; Codehighlighter1_265_762_Open_Image.style.display='inline'; Codehighlighter1_265_762_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_265_762_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_265_762_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(&nbsp;outputFile&nbsp;</span><span style="color: rgb(0, 0, 0);">!=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">&nbsp;)<br><img id="Codehighlighter1_308_376_Open_Image" onclick="this.style.display='none'; Codehighlighter1_308_376_Open_Text.style.display='none'; Codehighlighter1_308_376_Closed_Image.style.display='inline'; Codehighlighter1_308_376_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_308_376_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_308_376_Closed_Text.style.display='none'; Codehighlighter1_308_376_Open_Image.style.display='inline'; Codehighlighter1_308_376_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_308_376_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_308_376_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fileOutput&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;StreamWriter(&nbsp;outputFile&nbsp;);<br><img src="inblock.gif" align="top"><br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(&nbsp;export&nbsp;)<br><img id="Codehighlighter1_408_626_Open_Image" onclick="this.style.display='none'; Codehighlighter1_408_626_Open_Text.style.display='none'; Codehighlighter1_408_626_Closed_Image.style.display='inline'; Codehighlighter1_408_626_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_408_626_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_408_626_Closed_Text.style.display='none'; Codehighlighter1_408_626_Open_Image.style.display='inline'; Codehighlighter1_408_626_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_408_626_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_408_626_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connectionProvider&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;ConnectionProviderFactory.NewConnectionProvider(&nbsp;props&nbsp;);<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connection&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;connectionProvider.GetConnection();<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;statement&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;connection.CreateCommand();<br><img src="inblock.gif" align="top"><br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">格式化删除SQL脚本<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">执行脚本</span><span style="color: rgb(0, 128, 0);"><br><img src="inblock.gif" align="top"></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(&nbsp;</span><span style="color: rgb(0, 0, 0);">!</span><span style="color: rgb(0, 0, 0);">justDrop&nbsp;)<br><img id="Codehighlighter1_700_756_Open_Image" onclick="this.style.display='none'; Codehighlighter1_700_756_Open_Text.style.display='none'; Codehighlighter1_700_756_Closed_Image.style.display='inline'; Codehighlighter1_700_756_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_700_756_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_700_756_Closed_Text.style.display='none'; Codehighlighter1_700_756_Open_Image.style.display='inline'; Codehighlighter1_700_756_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_700_756_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_700_756_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">格式化创建SQL脚本<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">执行脚本</span><span style="color: rgb(0, 128, 0);"><br><img src="inblock.gif" align="top"></span><span style="color: rgb(0, 0, 0);"><br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">(&nbsp;HibernateException&nbsp;)<br><img id="Codehighlighter1_800_821_Open_Image" onclick="this.style.display='none'; Codehighlighter1_800_821_Open_Text.style.display='none'; Codehighlighter1_800_821_Closed_Image.style.display='inline'; Codehighlighter1_800_821_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_800_821_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_800_821_Closed_Text.style.display='none'; Codehighlighter1_800_821_Open_Image.style.display='inline'; Codehighlighter1_800_821_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_800_821_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_800_821_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">throw</span><span style="color: rgb(0, 0, 0);">;<br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">finally</span><span style="color: rgb(0, 0, 0);"><br><img id="Codehighlighter1_839_863_Open_Image" onclick="this.style.display='none'; Codehighlighter1_839_863_Open_Text.style.display='none'; Codehighlighter1_839_863_Closed_Image.style.display='inline'; Codehighlighter1_839_863_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_839_863_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_839_863_Closed_Text.style.display='none'; Codehighlighter1_839_863_Open_Image.style.display='inline'; Codehighlighter1_839_863_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_839_863_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_839_863_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"><img src="dot.gif"><img src="dot.gif">.</span><span style="color: rgb(0, 128, 0);"><br><img src="expandedsubblockend.gif" align="top"></span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="expandedblockend.gif" align="top">}</span></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%; text-align: left;" align="left">从代码中我们可以看到，不管传入的参数如何，它都会执行删除脚本，然后判断，是否只删除而不创建，这样一来，用<span lang="EN-US">CreateSchema</span>来生成数据库表，如果表已经存在，它删除了已有的记录就是必然的了，也就是说执行这个方法，相当于执行了下面这样一段<span lang="EN-US">SQL</span>脚本：<span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;"></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="none.gif" align="top"><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">exists</span><span style="color: rgb(0, 0, 0);">&nbsp;(</span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">*</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);">&nbsp;dbo.sysobjects&nbsp;</span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);">&nbsp;id&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">object_id</span><span style="color: rgb(0, 0, 0);">(N</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">Blogs</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(128, 128, 128);">and</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">OBJECTPROPERTY</span><span style="color: rgb(0, 0, 0);">(id,&nbsp;N</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">IsUserTable</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="font-weight: bold; color: rgb(128, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">)&nbsp;<br><img src="none.gif" align="top"><br><img src="none.gif" align="top"></span><span style="color: rgb(0, 0, 255);">drop</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">table</span><span style="color: rgb(0, 0, 0);">&nbsp;Blogs<br><img src="none.gif" align="top"><br><img src="none.gif" align="top"></span><span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">table</span><span style="color: rgb(0, 0, 0);">&nbsp;Blogs&nbsp;(<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">&nbsp;&nbsp;blog_id&nbsp;</span><span style="font-weight: bold; color: rgb(0, 0, 0);">INT</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">IDENTITY</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">NOT</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">NULL</span><span style="color: rgb(0, 0, 0);">,<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">&nbsp;&nbsp;&nbsp;blog_name&nbsp;</span><span style="font-weight: bold; color: rgb(0, 0, 0);">NVARCHAR</span><span style="color: rgb(0, 0, 0);">(</span><span style="font-weight: bold; color: rgb(128, 0, 0);">255</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">,<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">&nbsp;&nbsp;&nbsp;blog_author&nbsp;</span><span style="font-weight: bold; color: rgb(0, 0, 0);">NVARCHAR</span><span style="color: rgb(0, 0, 0);">(</span><span style="font-weight: bold; color: rgb(128, 0, 0);">255</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">,<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">primary</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">key</span><span style="color: rgb(0, 0, 0);">&nbsp;(blog_id)<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">)</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;">同样<span lang="EN-US">DropSchema</span>也是这样，不过<span lang="EN-US">justDrop</span>为<span lang="EN-US">True</span>罢了，它其实就执行了下面这句话：<span style="font-size: 10pt; line-height: 200%; font-family: 宋体;"></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="none.gif" align="top"><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">exists</span><span style="color: rgb(0, 0, 0);">&nbsp;(</span><span style="color: rgb(0, 0, 255);">select</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">*</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">from</span><span style="color: rgb(0, 0, 0);">&nbsp;dbo.sysobjects&nbsp;</span><span style="color: rgb(0, 0, 255);">where</span><span style="color: rgb(0, 0, 0);">&nbsp;id&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">object_id</span><span style="color: rgb(0, 0, 0);">(N</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">Blogs</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(128, 128, 128);">and</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">OBJECTPROPERTY</span><span style="color: rgb(0, 0, 0);">(id,&nbsp;N</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">IsUserTable</span><span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(128, 128, 128);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="font-weight: bold; color: rgb(128, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">)&nbsp;<br><img src="none.gif" align="top"><br><img src="none.gif" align="top"></span><span style="color: rgb(0, 0, 255);">drop</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">table</span><span style="color: rgb(0, 0, 0);">&nbsp;Blogs</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%; text-align: left;" align="left">这也就是说， “生成数据库表时只有当该表不存在时<span lang="EN-US">ActiveRecord</span>才会生成，否则表如果存在<span lang="EN-US">ActiveRecord</span>不会做任何事情，也不会报任何错误”在这种情况下是不对的，<span lang="EN-US">ActiveRecord</span>会删除已经存在的数据库表，并重新创建，这就会导致表中的数据丢失。<span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;">三．</span></b><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;" lang="EN-US">CreateSchemaFromFile</span></b><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;" lang="EN-US"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">CreateSchemaFromFile</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">方法用来执行一段已经存在的<span lang="EN-US">SQL</span>脚本，基本用法如下：<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">ActiveRecordStarter<span style="color: fuchsia;">.</span>CreateSchemaFromFile(<span style="color: maroon;">"blog.sql"</span>)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">与其它四个方法不同的是这个方法并没有使用<span lang="EN-US">NHibernate</span>的任何操作，而是通过<span lang="EN-US">Castle ActiveRecord</span>自己的<span lang="EN-US">ARSchemaCreator</span>来实现的。</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;"></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="none.gif" align="top"><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">static</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;CreateSchemaFromFile(String&nbsp;scriptFileName)<br><img id="Codehighlighter1_63_266_Open_Image" onclick="this.style.display='none'; Codehighlighter1_63_266_Open_Text.style.display='none'; Codehighlighter1_63_266_Closed_Image.style.display='inline'; Codehighlighter1_63_266_Closed_Text.style.display='inline';" src="expandedblockstart.gif" align="top"><img id="Codehighlighter1_63_266_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_63_266_Closed_Text.style.display='none'; Codehighlighter1_63_266_Open_Image.style.display='inline'; Codehighlighter1_63_266_Open_Text.style.display='inline';" src="contractedblock.gif" align="top"></span><span id="Codehighlighter1_63_266_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_63_266_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;CheckInitialized();<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;ARSchemaCreator&nbsp;arschema&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;ARSchemaCreator(&nbsp;<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActiveRecordBase._holder.GetConfiguration(&nbsp;</span><span style="color: rgb(0, 0, 255);">typeof</span><span style="color: rgb(0, 0, 0);">(ActiveRecordBase)&nbsp;)&nbsp;);<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;arschema.Execute(&nbsp;scriptFileName&nbsp;);<br><img src="inblock.gif" align="top"><br><img src="expandedblockend.gif" align="top">}</span></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;">在<span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">ARSchemaCreator</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">中，它会对<span lang="EN-US">SQL</span>脚本进行分析，并通过<span lang="EN-US">IDbConnection</span>，<span lang="EN-US">IDbCommand</span>实现，看其中的一个方法：</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;"></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="none.gif" align="top"><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">static</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;ExecuteScriptParts(IDbConnection&nbsp;connection,&nbsp;String[]&nbsp;parts)<br><img id="Codehighlighter1_80_621_Open_Image" onclick="this.style.display='none'; Codehighlighter1_80_621_Open_Text.style.display='none'; Codehighlighter1_80_621_Closed_Image.style.display='inline'; Codehighlighter1_80_621_Closed_Text.style.display='inline';" src="expandedblockstart.gif" align="top"><img id="Codehighlighter1_80_621_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_80_621_Closed_Text.style.display='none'; Codehighlighter1_80_621_Open_Image.style.display='inline'; Codehighlighter1_80_621_Open_Text.style.display='inline';" src="contractedblock.gif" align="top"></span><span id="Codehighlighter1_80_621_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_80_621_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">using</span><span style="color: rgb(0, 0, 0);">(IDbCommand&nbsp;statement&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;connection.CreateCommand())<br><img id="Codehighlighter1_147_619_Open_Image" onclick="this.style.display='none'; Codehighlighter1_147_619_Open_Text.style.display='none'; Codehighlighter1_147_619_Closed_Image.style.display='inline'; Codehighlighter1_147_619_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_147_619_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_147_619_Closed_Text.style.display='none'; Codehighlighter1_147_619_Open_Image.style.display='inline'; Codehighlighter1_147_619_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_147_619_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_147_619_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">foreach</span><span style="color: rgb(0, 0, 0);">(String&nbsp;part&nbsp;</span><span style="color: rgb(0, 0, 255);">in</span><span style="color: rgb(0, 0, 0);">&nbsp;parts)<br><img id="Codehighlighter1_195_612_Open_Image" onclick="this.style.display='none'; Codehighlighter1_195_612_Open_Text.style.display='none'; Codehighlighter1_195_612_Closed_Image.style.display='inline'; Codehighlighter1_195_612_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_195_612_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_195_612_Closed_Text.style.display='none'; Codehighlighter1_195_612_Open_Image.style.display='inline'; Codehighlighter1_195_612_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_195_612_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_195_612_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);"><br><img id="Codehighlighter1_225_390_Open_Image" onclick="this.style.display='none'; Codehighlighter1_225_390_Open_Text.style.display='none'; Codehighlighter1_225_390_Closed_Image.style.display='inline'; Codehighlighter1_225_390_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_225_390_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_225_390_Closed_Text.style.display='none'; Codehighlighter1_225_390_Open_Image.style.display='inline'; Codehighlighter1_225_390_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_225_390_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_225_390_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;statement.CommandText&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;part;<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;statement.CommandType&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;CommandType.Text;<br><img src="inblock.gif" align="top"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;statement.ExecuteNonQuery();<br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);">(Exception&nbsp;ex)<br><img id="Codehighlighter1_436_601_Open_Image" onclick="this.style.display='none'; Codehighlighter1_436_601_Open_Text.style.display='none'; Codehighlighter1_436_601_Closed_Image.style.display='inline'; Codehighlighter1_436_601_Closed_Text.style.display='inline';" src="expandedsubblockstart.gif" align="top"><img id="Codehighlighter1_436_601_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_436_601_Closed_Text.style.display='none'; Codehighlighter1_436_601_Open_Image.style.display='inline'; Codehighlighter1_436_601_Open_Text.style.display='inline';" src="contractedsubblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_436_601_Closed_Text" style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);"><img src="dot.gif"></span><span id="Codehighlighter1_436_601_Open_Text"><span style="color: rgb(0, 0, 0);">{<br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;Ignored,&nbsp;but&nbsp;we&nbsp;output&nbsp;it</span><span style="color: rgb(0, 128, 0);"><br><img src="inblock.gif" align="top"></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.WriteLine(String.Format(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">SQL:&nbsp;{0}&nbsp;\r\nthrew&nbsp;{1}.&nbsp;Ignoring</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,&nbsp;part,&nbsp;ex.Message));<br><img src="inblock.gif" align="top"><br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top"><br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="inblock.gif" align="top"><br><img src="expandedsubblockend.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: rgb(0, 0, 0);"><br><img src="expandedblockend.gif" align="top">}</span></span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%; text-align: left;" align="left">创建数据库表的方法很简单，但是我们知道在查询分析器中，如果执行创建数据库表的<span lang="EN-US">SQL</span>脚本，这张表存在的话，它会报“数据库中已存在名为<span lang="EN-US"> '' </span>的对象”错误，那我们看上面这段代码<span lang="EN-US">catch</span>块中有这样一句注释和代码：<span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US"><o:p></o:p></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="none.gif" align="top"><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;Ignored,&nbsp;but&nbsp;we&nbsp;output&nbsp;it</span><span style="color: rgb(0, 128, 0);"><br><img src="none.gif" align="top"></span><span style="color: rgb(0, 0, 0);"><br><img src="none.gif" align="top">Debug.WriteLine(String.Format(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">SQL:&nbsp;{0}&nbsp;\r\nthrew&nbsp;{1}.&nbsp;Ignoring</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,&nbsp;part,&nbsp;ex.Message));</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%; text-align: left;" align="left"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">这就是说如果数据库中存在有<span lang="EN-US">Blogs</span>这张表，我们再执行再通过<span lang="EN-US">CreateSchemaFromFile()</span>方法来执行下面这段脚本，<span lang="EN-US">ActiveRecord</span>将不做任何事情，并且不会报错：</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;"></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="none.gif" align="top"><span style="color: rgb(0, 0, 255);">create</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">table</span><span style="color: rgb(0, 0, 0);">&nbsp;Blogs&nbsp;(<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">&nbsp;&nbsp;blog_id&nbsp;</span><span style="font-weight: bold; color: rgb(0, 0, 0);">INT</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(255, 0, 255);">IDENTITY</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(128, 128, 128);">NOT</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">NULL</span><span style="color: rgb(0, 0, 0);">,<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">&nbsp;&nbsp;&nbsp;blog_name&nbsp;</span><span style="font-weight: bold; color: rgb(0, 0, 0);">NVARCHAR</span><span style="color: rgb(0, 0, 0);">(</span><span style="font-weight: bold; color: rgb(128, 0, 0);">255</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">,<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">&nbsp;&nbsp;&nbsp;blog_author&nbsp;</span><span style="font-weight: bold; color: rgb(0, 0, 0);">NVARCHAR</span><span style="color: rgb(0, 0, 0);">(</span><span style="font-weight: bold; color: rgb(128, 0, 0);">255</span><span style="color: rgb(0, 0, 0);">)&nbsp;</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">,<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">primary</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">key</span><span style="color: rgb(0, 0, 0);">&nbsp;(blog_id)<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">)</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%; text-align: left;" align="left">所以，前面那句话，应该是在使用<span lang="EN-US">CreateSchemaFromFile()</span>方法的情况有效。<span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;">四．</span></b><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;" lang="EN-US">GenerateCreationScripts</span></b><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;">和<span lang="EN-US">GenerateDropScripts</span></span></b><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;" lang="EN-US"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">有时候，我们可以使用这两个方法来生成创建或者删除数据库表的<span lang="EN-US">SQL</span>脚本，然后再利用</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">CreateSchemaFromFile()</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">使用这些脚本。这两个方法的使用很简单：</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;"></span></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="none.gif" align="top"><span style="color: rgb(0, 0, 0);">ActiveRecordStarter.GenerateDropScripts(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">blog.sql</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br><img src="none.gif" align="top"><br><img src="none.gif" align="top">ActiveRecordStarter.GenerateCreationScripts(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">blog.sql</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);</span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;">它也是调用了<span lang="EN-US">NHibernate</span>中的相应的方法，将会在当前应用程序目录下生成一个<span lang="EN-US">blog.sql</span>的脚本文件。<span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">这篇文章就分析到这儿，最后特别要感谢<span lang="EN-US"><span style="font-size: 10pt; color: rgb(51, 102, 255); font-family: 宋体;" lang="EN-US"><a href="http://linkin.cnblogs.com/"><span style="color: rgb(51, 102, 255); text-decoration: none;">Linkin</span></a></span></span>，没有他提的问题，我也不会去深入的研究这其中的细节，在以后的文章中，我会更加认真的去对待每一个问题。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><b style=""><span style="font-size: 10pt; color: rgb(0, 102, 153); line-height: 200%; font-family: 宋体;">参考资料<span lang="EN-US"><o:p></o:p></span></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 200%;"><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;" lang="EN-US">Castle</span><span style="font-size: 10pt; line-height: 200%; font-family: 宋体;">的官方网站<span lang="EN-US"><span><a href="http://www.castleproject.org/" class="smarterwiki-linkify">http://www.castleproject.org</a></span><o:p></o:p></span></span></p>
<div id="MySignature">作者：<a href="http://terrylee.cnblogs.com/">TerryLee</a><br>
出处：<a href="http://terrylee.cnblogs.com/">http://terrylee.cnblogs.com</a>
<br>
本文版权归作者和博客园共有，欢迎转载，但未经作者同意必须保留此段声明，且在文章页面明显位置给出原文连接，否则保留追究法律责任的权利。
</div>
<div id="digg_block">
<div id="div_digg">										
	<div class="diggit" onclick="DiggIt(386158,14203,1)"> 
		<span class="diggnum" id="digg_count_386158">0</span>
	</div>
	<div class="buryit" onclick="DiggIt(386158,14203,2)"> 
		<span class="burynum" id="bury_count_386158">0</span>
	</div>
	<div class="clear"></div>
	<span style="display: none;" id="span_isdigged_386158">0</span>	
	<div class="diggword" id="digg_word_386158">(请您对文章做出评价)</div>	
</div>
</div>
<div class="clear"></div>
<div id="post_next_prev">
<a href="http://www.cnblogs.com/Terrylee/archive/2006/04/26/385127.html">« </a> 上一篇：<a href="http://www.cnblogs.com/Terrylee/archive/2006/04/26/385127.html" title="发布于2006-04-26 08:24">Castle IOC容器组件生命周期管理</a><br>
<a href="http://www.cnblogs.com/Terrylee/archive/2006/04/27/386314.html">» </a> 下一篇：<a href="http://www.cnblogs.com/Terrylee/archive/2006/04/27/386314.html" title="发布于2006-04-27 10:30">IIS错误问题解决一则</a><br>
</div>








		</div>
		<div class="postDesc">posted @ 2006-04-27 08:27 <a href="http://www.cnblogs.com/Terrylee/">TerryLee</a> 阅读(6232) <a href="#commentform">评论(19)</a> &nbsp;<a href="http://www.cnblogs.com/Terrylee/admin/EditPosts.aspx?postid=386158">编辑</a> <a href="http://www.cnblogs.com/Terrylee/AddToFavorite.aspx?id=386158">收藏</a> <a href="#" onclick="PutInWz();return false;">网摘</a>  所属分类: <a href="http://www.cnblogs.com/Terrylee/category/48535.html">[11]&nbsp;&nbsp;数据持久</a>, <a href="http://www.cnblogs.com/Terrylee/category/53293.html">[12]&nbsp;&nbsp;开源世界</a></div>
	</div>
	<img src="386158.html" height="1" width="1">
	
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://www.cnblogs.com/Terrylee/archive/2006/04/27/386158.html"
dc:identifier="http://www.cnblogs.com/Terrylee/archive/2006/04/27/386158.html"
dc:title=""
trackback:ping="http://www.cnblogs.com/Terrylee/services/trackbacks/386158.aspx" />
</rdf:RDF>
-->

</div><!--end: topics 文章、评论容器-->
<a name="pagedcomment"></a>
<!--done-->
<br>
<div class="feedback_area_title">发表评论</div>
<div class="feedbackNoItems"><span id="span_comment_maxid" style="display: none;">827998</span></div>
	

		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("LuLu",386530,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(386530,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl00_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl00$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl00_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#386530">#1楼</a><a name="386530" id="comment_anchor_386530"></a>2006-04-27 13:19 | <a id="Comments1_CommentList_ctl00_NameLink" target="_blank">LuLu[未注册用户]</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_386530" class="blog_comment_body">准备学习AR，就靠这个系列了！</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("Terrylee",386635,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(386635,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a title="查看该作者发表过的评论" href="http://www.cnblogs.com/CommentsByAuthor.aspx?author=Terrylee" target="_top">查看</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl01_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl01$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl01_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#386635">#2楼</a><a name="386635" id="comment_anchor_386635"></a>[<span class="louzhu">楼主</span>]2006-04-27 14:54 | <a id="Comments1_CommentList_ctl01_NameLink" href="http://www.cnblogs.com/Terrylee/" target="_top">Terrylee</a>&nbsp;<a href="http://space.cnblogs.com/msg/send/Terrylee" title="给此人发送站内短消息" class="sendMsg2This">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_386635" class="blog_comment_body">@LuLu
<br>
<br>呵呵，Castle一句话：很棒！</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("垃圾猪",392511,"F0kyeut/Y+/stw1bhhxtSxA2QSTzRKlG3iT+5yT+xutfqG1pNUucCg==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(392511,"F0kyeut/Y+/stw1bhhxtSxA2QSTzRKlG3iT+5yT+xutfqG1pNUucCg==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a title="查看该作者发表过的评论" href="http://www.cnblogs.com/CommentsByAuthor.aspx?author=%e5%9e%83%e5%9c%be%e7%8c%aa" target="_top">查看</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl02_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl02$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl02_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#392511">#3楼</a><a name="392511" id="comment_anchor_392511"></a>2006-05-06 11:55 | <a id="Comments1_CommentList_ctl02_NameLink" href="http://www.cnblogs.com/ewebapp/" target="_top">垃圾猪</a>&nbsp;<a href="http://space.cnblogs.com/msg/send/%e5%9e%83%e5%9c%be%e7%8c%aa" title="给此人发送站内短消息" class="sendMsg2This">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_392511" class="blog_comment_body">收藏,写得真好</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("Terrylee",392528,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(392528,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a title="查看该作者发表过的评论" href="http://www.cnblogs.com/CommentsByAuthor.aspx?author=Terrylee" target="_top">查看</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl03_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl03$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl03_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#392528">#4楼</a><a name="392528" id="comment_anchor_392528"></a>[<span class="louzhu">楼主</span>]2006-05-06 12:27 | <a id="Comments1_CommentList_ctl03_NameLink" href="http://www.cnblogs.com/Terrylee/" target="_top">Terrylee</a>&nbsp;<a href="http://space.cnblogs.com/msg/send/Terrylee" title="给此人发送站内短消息" class="sendMsg2This">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_392528" class="blog_comment_body">@垃圾猪
<br>
<br>谢谢支持：），其实更应该感谢Linkin大哥，没有他提出的问题，就不会有这篇文章了，呵呵~~~~</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("wolfpzp",427218,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(427218,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl04_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl04$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl04_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#427218">#5楼</a><a name="427218" id="comment_anchor_427218"></a>2006-06-16 09:54 | <a id="Comments1_CommentList_ctl04_NameLink" target="_blank">wolfpzp[未注册用户]</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_427218" class="blog_comment_body">看到这里对Castle有了一个大致的了解，感觉比NHibernate好用。
<br>接下需要写点代码来实践一下。
<br>在此谢谢Terrylee！</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("TerryLee",427308,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(427308,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a title="查看该作者发表过的评论" href="http://www.cnblogs.com/CommentsByAuthor.aspx?author=TerryLee" target="_top">查看</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl05_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl05$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl05_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#427308">#6楼</a><a name="427308" id="comment_anchor_427308"></a>[<span class="louzhu">楼主</span>]2006-06-16 11:29 | <a id="Comments1_CommentList_ctl05_NameLink" href="http://www.cnblogs.com/Terrylee/" target="_top">TerryLee</a>&nbsp;<a href="http://space.cnblogs.com/msg/send/TerryLee" title="给此人发送站内短消息" class="sendMsg2This">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_427308" class="blog_comment_body">@wolfpzp
<br>
<br>不用客气！
<br>
<br>Castle ActiveRecord使用起来比NH简单一些，我也曾经说要写一个完整的例子，可是却一拖再拖，希望有时间能够兑现，呵呵:-)</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("天生傻冒",432071,"MiPwXKq4MdoGnbMKqEvnY2odCZdidr0TNsGy/0/NfXQK/JK0FRJapg==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(432071,"MiPwXKq4MdoGnbMKqEvnY2odCZdidr0TNsGy/0/NfXQK/JK0FRJapg==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a title="查看该作者发表过的评论" href="http://www.cnblogs.com/CommentsByAuthor.aspx?author=%e5%a4%a9%e7%94%9f%e5%82%bb%e5%86%92" target="_top">查看</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl06_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl06$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl06_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#432071">#7楼</a><a name="432071" id="comment_anchor_432071"></a>2006-06-21 21:22 | <a id="Comments1_CommentList_ctl06_NameLink" href="http://www.cnblogs.com/janus1999/" target="_top">天生傻冒</a>&nbsp;<a href="http://space.cnblogs.com/msg/send/%e5%a4%a9%e7%94%9f%e5%82%bb%e5%86%92" title="给此人发送站内短消息" class="sendMsg2This">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_432071" class="blog_comment_body">总算看完啦，对AR有了一点了解，希望看到后续的文章！</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("TerryLee",432281,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(432281,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a title="查看该作者发表过的评论" href="http://www.cnblogs.com/CommentsByAuthor.aspx?author=TerryLee" target="_top">查看</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl07_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl07$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl07_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#432281">#8楼</a><a name="432281" id="comment_anchor_432281"></a>[<span class="louzhu">楼主</span>]2006-06-22 08:04 | <a id="Comments1_CommentList_ctl07_NameLink" href="http://www.cnblogs.com/Terrylee/" target="_top">TerryLee</a>&nbsp;<a href="http://space.cnblogs.com/msg/send/TerryLee" title="给此人发送站内短消息" class="sendMsg2This">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_432281" class="blog_comment_body">@天生傻冒
<br>后续有时间，还会继续写的:-)</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("ugvanx",436184,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(436184,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl08_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl08$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl08_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#436184">#9楼</a><a name="436184" id="comment_anchor_436184"></a>2006-06-26 17:28 | <a id="Comments1_CommentList_ctl08_NameLink" target="_blank">ugvanx[未注册用户]</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_436184" class="blog_comment_body">怎么直接调用Connection,然后执行Sql语句。有没有什么接口</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("TerryLee",436199,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(436199,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a title="查看该作者发表过的评论" href="http://www.cnblogs.com/CommentsByAuthor.aspx?author=TerryLee" target="_top">查看</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl09_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl09$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl09_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#436199">#10楼</a><a name="436199" id="comment_anchor_436199"></a>[<span class="louzhu">楼主</span>]2006-06-26 17:39 | <a id="Comments1_CommentList_ctl09_NameLink" href="http://www.cnblogs.com/Terrylee/" target="_top">TerryLee</a>&nbsp;<a href="http://space.cnblogs.com/msg/send/TerryLee" title="给此人发送站内短消息" class="sendMsg2This">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_436199" class="blog_comment_body">@ugvanx
<br>
<br>应该是可以的，我没注意这个问题</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("codelover",518405,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(518405,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl10_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl10$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl10_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#518405">#11楼</a><a name="518405" id="comment_anchor_518405"></a>2006-09-29 16:44 | <a id="Comments1_CommentList_ctl10_NameLink" rel="nofllow" href="http://www.cnitblog.com/r.aspx?url=http://www.codelover.com" target="_top">codelover[未注册用户]</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_518405" class="blog_comment_body">.net开源框架交流qq群30017484</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("hope[匿名]",526358,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(526358,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl11_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl11$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl11_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#526358">#12楼</a><a name="526358" id="comment_anchor_526358"></a>2006-10-11 15:50 | <a id="Comments1_CommentList_ctl11_NameLink" target="_blank">hope[匿名][未注册用户]</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_526358" class="blog_comment_body">欢迎大家加入我的Castle qq群 号码 275885</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("kevinhgy",568802,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(568802,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl12_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl12$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl12_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#568802">#13楼</a><a name="568802" id="comment_anchor_568802"></a>2006-11-22 16:18 | <a id="Comments1_CommentList_ctl12_NameLink" target="_blank">kevinhgy[未注册用户]</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_568802" class="blog_comment_body">收藏,写得真好</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("TerryLee",570300,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(570300,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a title="查看该作者发表过的评论" href="http://www.cnblogs.com/CommentsByAuthor.aspx?author=TerryLee" target="_top">查看</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl13_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl13$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl13_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#570300">#14楼</a><a name="570300" id="comment_anchor_570300"></a>[<span class="louzhu">楼主</span>]2006-11-23 20:57 | <a id="Comments1_CommentList_ctl13_NameLink" href="http://www.cnblogs.com/Terrylee/" target="_top">TerryLee</a>&nbsp;<a href="http://space.cnblogs.com/msg/send/TerryLee" title="给此人发送站内短消息" class="sendMsg2This">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_570300" class="blog_comment_body">@kevinhgy
<br>:)</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("SkyDragon[匿名]",583315,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(583315,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl14_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl14$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl14_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#583315">#15楼</a><a name="583315" id="comment_anchor_583315"></a>2006-12-05 21:55 | <a id="Comments1_CommentList_ctl14_NameLink" target="_blank">SkyDragon[匿名][未注册用户]</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_583315" class="blog_comment_body">这系列真爽呀,感谢@TerryLee的无私奉献,
<br>
<br>从你这里学了不少东东,你那个设计模式系列什么时候更新咯,关注中.....</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("TerryLee",583326,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(583326,"K82dKaku/JiNNC/PeczvjL4gReWZAaP9pFNyUxpHUmhQUsdw4bZYEA==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a title="查看该作者发表过的评论" href="http://www.cnblogs.com/CommentsByAuthor.aspx?author=TerryLee" target="_top">查看</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl15_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl15$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl15_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#583326">#16楼</a><a name="583326" id="comment_anchor_583326"></a>[<span class="louzhu">楼主</span>]2006-12-05 22:08 | <a id="Comments1_CommentList_ctl15_NameLink" href="http://www.cnblogs.com/Terrylee/" target="_top">TerryLee</a>&nbsp;<a href="http://space.cnblogs.com/msg/send/TerryLee" title="给此人发送站内短消息" class="sendMsg2This">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_583326" class="blog_comment_body">@SkyDragon[匿名]
<br>:)
<br>
<br>还得一段时间哦，最近都没时间写文章了，只是做了一些开源项目的推荐:)</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("leoxu",735724,"nsPB0B1pZfAsolM0pbQXoBMWZwKWbuIYyXMGqViiSt1JftqwLyfI7Q==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(735724,"nsPB0B1pZfAsolM0pbQXoBMWZwKWbuIYyXMGqViiSt1JftqwLyfI7Q==")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a title="查看该作者发表过的评论" href="http://www.cnblogs.com/CommentsByAuthor.aspx?author=leoxu" target="_top">查看</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl16_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl16$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl16_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#735724">#17楼</a><a name="735724" id="comment_anchor_735724"></a>2007-05-04 16:12 | <a id="Comments1_CommentList_ctl16_NameLink" href="http://www.cnblogs.com/ajaxleoxu/" target="_top">leoxu</a>&nbsp;<a href="http://space.cnblogs.com/msg/send/leoxu" title="给此人发送站内短消息" class="sendMsg2This">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_735724" class="blog_comment_body">哈哈。<br>文章写得很好。<br>有机会可以把这些系列文章做成CHM格式。<br>继续关注你下面的文章。</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("mingxingw",772480,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(772480,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl17_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl17$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl17_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#772480">#18楼</a><a name="772480" id="comment_anchor_772480"></a>2007-06-05 17:56 | <a id="Comments1_CommentList_ctl17_NameLink" rel="nofllow" href="http://www.cnitblog.com/r.aspx?url=http://mingxing_84@163.com" target="_top">mingxingw[未注册用户]</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_772480" class="blog_comment_body">又没有整过，案例代码！大哥！</span><br>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<a onclick='ReplyComment("小蝎",827998,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">回复</a>&nbsp;&nbsp;<a onclick='QuoteComment(827998,"")' href="http://terrylee.cnblogs.com/archive/2006/04/27/386158.html#commentform">引用</a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl18_DeleteLink" href="javascript:__doPostBack('Comments1$CommentList$ctl18$DeleteLink','')"></a>&nbsp;&nbsp;<a id="Comments1_CommentList_ctl18_EditLink" causesvalidation="False"></a>
				</div>
				<a href="#827998">#19楼</a><a name="827998" id="comment_anchor_827998"></a><a name="Post"></a>2007-07-23 11:08 | <a id="Comments1_CommentList_ctl18_NameLink" target="_blank">小蝎[未注册用户]</a>
			</div>
			<div class="feedbackCon">
				<span id="comment_body_827998" class="blog_comment_body">你好，我想问一下，如果我想执行SQL语句或者存储过程该怎么执行呢？还有就是如果我有3或4个有关联的表，我该怎么进行查询呢？用多对多映射可以吗？如果可以该怎么写呢？如果不可以有什么好方法吗？如果用sql也是查多个表，那返回结果是object数组还是能直接绑定的呢？</span><br>
			</div>
		</div>
	

<div id="ctl05_comment_form" class="commentform">




<div id="ctl05_divLoginPannel">
<div class="login_tips">注册用户登录后才能发表评论，请 <a href="http://passport.cnblogs.com/login.aspx?ReturnUrl=http%3a%2f%2fterrylee.cnblogs.com%2farchive%2f2006%2f04%2f27%2f386158.html%3flogin%3d1%23commentform" class="underline">登录</a> 或 <a href="http://passport.cnblogs.com/register.aspx?ReturnUrl=http%3a%2f%2fterrylee.cnblogs.com%2farchive%2f2006%2f04%2f27%2f386158.html%23Bottom2" class="underline">注册</a> 。</div>
</div>

<div class="itnews c_ad_block" id="itnews">
<a href="http://news.cnblogs.com/" target="_top">IT新闻</a>:<br>

          ·  <a href="http://news.cnblogs.com/n/55114/" target="_top">谷歌联手亚马逊在英国推出Android音乐商店</a><br>
	
          ·  <a href="http://news.cnblogs.com/n/55112/" target="_top">Facebook成为Apache软件基金会黄金赞助商</a><br>
	
          ·  <a href="http://news.cnblogs.com/n/55111/" target="_top">IBM荣获2009年美国专利申请冠军</a><br>
	
          ·  <a href="http://news.cnblogs.com/n/55100/" target="_top">麦当劳美国餐馆Wi-Fi服务全面免费</a><br>
	
          ·  <a href="http://news.cnblogs.com/n/55097/" target="_top">Java SE 6更新，性能大幅提升</a><br>
	
</div>


<div id="ad_under_comment" class="c_ad_block">
<a href="http://a4.yeshj.com/rd/34138/" target="_top">每天10分钟，轻松学英语</a><br><br>
<div id="google_ads_div_cnblogs_blogpost_bottom1">
<iframe src="index_1.html" style="border: 0pt none ;" marginheight="0" marginwidth="0" name="google_ads_iframe_cnblogs_blogpost_bottom1" id="google_ads_iframe_cnblogs_blogpost_bottom1" scrolling="no" frameborder="0" height="60" width="468"></iframe></div>

<br>
<div id="google_ads_div_cnblogs_blogpost_bottom">
<iframe src="index_2.html" style="border: 0pt none ;" marginheight="0" marginwidth="0" name="google_ads_iframe_cnblogs_blogpost_bottom" id="google_ads_iframe_cnblogs_blogpost_bottom" scrolling="no" frameborder="0" height="250" width="300"></iframe></div>

</div>
<div id="site_nav_under" class="c_ad_block">
网站导航：<br>
<a href="http://www.cnblogs.com/" target="_top">博客园首页</a> &nbsp;<a href="http://news.cnblogs.com/" target="_top">IT新闻</a> &nbsp;<a href="http://home.cnblogs.com/" target="_top">个人主页</a> &nbsp;<a href="http://home.cnblogs.com/ing/" target="_top">闪存</a> &nbsp;<a href="http://job.cnblogs.com/" target="_top">程序员招聘</a> &nbsp;<a href="http://space.cnblogs.com/" target="_top">社区</a> &nbsp;<a href="http://space.cnblogs.com/q/" target="_top">博问</a> &nbsp;<a href="http://wz.cnblogs.com/" target="_top">网摘</a>
</div>
<div id="ad_under_comment2" class="c_ad_block">
<a href="http://www.china-pub.com/STATIC07/0912/zh_ndcx_091212.asp" target="_top"><img src="chinapub_20091222.jpg" alt="" style="border: 0px none ;"></a><br>
<a href="http://www.china-pub.com/itbook/" target="_top">China-pub 计算机图书网上专卖店！6.5万品种2-8折！</a><br>
<a href="http://www.china-pub.com/static07/0901/zh_jueba_090121.asp" target="_top">China-Pub 计算机绝版图书按需印刷服务</a><br>
</div>

<div id="relative_search"><br><b>相关搜索:</b><br> <a href="http://zzk.cnblogs.com/s?w=%5b11%5d%e6%95%b0%e6%8d%ae%e6%8c%81%e4%b9%85" target="_top">[11]数据持久</a> <a href="http://zzk.cnblogs.com/s?w=%5b12%5d%e5%bc%80%e6%ba%90%e4%b8%96%e7%95%8c" target="_top">[12]开源世界</a> </div><div id="relative_search"><br><b>在知识库中查看：</b><br> <a href="http://kb.cnblogs.com/a/386158/">Castle ActiveRecord学习实践（10）：深度分析Schema Pitfals</a></div>

</div>


				
	</div><!--end: forFlow -->
	</div><!--end: mainContent 主体内容容器-->

	<div id="sideBar">
		<div id="sideBarMain">
			
<!--done-->
<div class="newsItem">
<h3 class="catListTitle">公告</h3>
	<div class="box">
<h3 class="boxtitle">个人简介</h3>
<ul>
    <li><img src="o_terrylee.png" alt=""></li>
    <li>网名：TerryLee</li>
    <li>本名：李会军</li>
    <li>位置：中国 北京</li>
    <li>请大家发邮件至</li>
    <li><img src="o_terrylee_cnblogs.png" alt="TerryLee"></li>
   </ul>
</div>
<div class="box">
<h3 class="boxtitle">关注我</h3>
<a href="http://twitter.com/TerryLeeTech"><img src="followme.png" alt="在Twitter上关注我" style="margin-left: 5px;"></a>
<a href="http://www.dotneteye.cn/blog/syndication.axd"><img src="feedadd.png" alt="订阅我的Blog" style="margin-left: 15px;"></a>
</div>
<div class="box">
<h3 class="boxtitle">我的著作</h3>
<ul>
    <li><img alt="" src="o_silverlight02.jpg" border="0"></li>
    <li>官网：<a href="http://www.dotneteye.cn/silverlight">《Silverlight 2完美征程》</a></li>
</ul>
</div>
<div class="box">
<h3 class="boxtitle">我在说</h3>
<ul id="twitter_update_list"></ul>
<a href="http://twitter.com/TerryLeeTech" id="twitter-link" style="display: block; text-align: right;">follow me on Twitter</a>
</div>
<div class="box">
<h3 class="boxtitle">MVP配置</h3>
<ul>
    <li><img alt="" src="o_o_mvp_horizontal_fullcolor_182_74.png" border="0"></li>
    <li><a href="https://mvp.support.microsoft.com/profile=8FECB25C-0CBC-432F-9F25-E2698DDF3CA1">MVP配置</a></li>
</ul>
</div>
<div class="box">
<h3 class="boxtitle">个人主页</h3>
<ul>
<li>
<a href="http://www.dotneteye.cn/"><img src="o_dotnet.png" alt=""></a>
</li>
</ul>
</div>
<div class="box">
<h3 class="boxtitle">版权声明</h3>
    <ul>
        <li>本站采用<a href="http://creativecommons.org/licenses/by-nc/2.5/" target="_top" rel="license">创作共用</a>许可
        署名，非商业
<a href="http://www.51.la/?00260513" target="_top"><img alt="51.la 专业、免费、强健的访问统计" src="icon_8.gif" style="border: medium none ;"></a>
<img style="width: 0px; height: 0px;" src="go.asp">
        </li></ul>
    </div>
<div class="box">
<h3 class="boxtitle">绿色通道</h3>
  <ul>
   <li>1.<a href="http://www.cnblogs.com/Terrylee/archive/2008/03/09/Silverlight2-step-by-step-Tutorials.html">一步一步学Silverlight 2系列</a></li>
<li>2.<a href="http://www.cnblogs.com/Terrylee/archive/2006/07/17/334911.html">.NET设计模式系列文章</a></li>
<li>3.<a href="http://www.cnblogs.com/Terrylee/archive/2006/11/12/558683.html">ASP.NET AJAX入门系列</a></li>
<li>4.<a href="http://www.cnblogs.com/Terrylee/archive/2006/04/28/387503.html">Castle开发系列文章</a></li>
<li>5.<a href="http://www.cnblogs.com/Terrylee/archive/2006/08/01/464591.html">Enterprise Library系列</a></li>
<li><a href="http://dotnet.cnblogs.com/">博客园.NET频道</a></li>
  </ul>
</div><div id="profile_block"><a href="http://home.cnblogs.com/Terrylee/" target="_top">我的主页</a>&nbsp; <a href="http://home.cnblogs.com/Terrylee/detail/" target="_top">个人资料</a><br><a href="http://home.cnblogs.com/Terrylee/ing/" target="_top">我的闪存</a>&nbsp; <a href="http://space.cnblogs.com/msg/send/TerryLee" target="_top">发短消息</a></div>
</div>

			
			
			<div id="leftcontentcontainer">
				

<div class="mySearch">
<h3 class="catListTitle">搜索</h3>
<div class="div_my_zzk"><input value="" id="q" onkeydown="return zzk_go_enter(event);" class="input_my_zzk" type="text">&nbsp;<input onclick="zzk_go()" value="找找看" id="btnZzk" class="btn_my_zzk" type="button"></div>
</div>
<div class="catListPostCategory">
<h3 class="catListTitle">随笔分类</h3>

<ul>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl01_Link" href="http://www.cnblogs.com/Terrylee/category/48779.html">[01]&nbsp;&nbsp;.NET大本营(50)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl01_RssLink" title="Subscribe to [01]&amp;nbsp;&amp;nbsp;.NET大本营(50)" href="http://www.cnblogs.com/Terrylee/category/48779.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl02_Link" href="http://www.cnblogs.com/Terrylee/category/161309.html">[02]&nbsp;&nbsp;探微知著CLR</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl02_RssLink" title="Subscribe to [02]&amp;nbsp;&amp;nbsp;探微知著CLR" href="http://www.cnblogs.com/Terrylee/category/161309.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl03_Link" href="http://www.cnblogs.com/Terrylee/category/78190.html">[03]&nbsp;&nbsp;银光点亮世界(62)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl03_RssLink" title="Subscribe to [03]&amp;nbsp;&amp;nbsp;银光点亮世界(62)" href="http://www.cnblogs.com/Terrylee/category/78190.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl04_Link" href="http://www.cnblogs.com/Terrylee/category/36734.html">[04]&nbsp;&nbsp;WCF后传(17)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl04_RssLink" title="Subscribe to [04]&amp;nbsp;&amp;nbsp;WCF后传(17)" href="http://www.cnblogs.com/Terrylee/category/36734.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl05_Link" href="http://www.cnblogs.com/Terrylee/category/36516.html">[05]&nbsp;&nbsp;架构与设计(24)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl05_RssLink" title="Subscribe to [05]&amp;nbsp;&amp;nbsp;架构与设计(24)" href="http://www.cnblogs.com/Terrylee/category/36516.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl06_Link" href="http://www.cnblogs.com/Terrylee/category/48778.html">[06]&nbsp;&nbsp;LINQ之美(4)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl06_RssLink" title="Subscribe to [06]&amp;nbsp;&amp;nbsp;LINQ之美(4)" href="http://www.cnblogs.com/Terrylee/category/48778.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl07_Link" href="http://www.cnblogs.com/Terrylee/category/115628.html">[07]&nbsp;&nbsp;AJAX风云(15)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl07_RssLink" title="Subscribe to [07]&amp;nbsp;&amp;nbsp;AJAX风云(15)" href="http://www.cnblogs.com/Terrylee/category/115628.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl08_Link" href="http://www.cnblogs.com/Terrylee/category/37512.html">[08]&nbsp;&nbsp;Web开发(66)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl08_RssLink" title="Subscribe to [08]&amp;nbsp;&amp;nbsp;Web开发(66)" href="http://www.cnblogs.com/Terrylee/category/37512.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl09_Link" href="http://www.cnblogs.com/Terrylee/category/124829.html">[09]&nbsp;&nbsp;依赖注入(14)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl09_RssLink" title="Subscribe to [09]&amp;nbsp;&amp;nbsp;依赖注入(14)" href="http://www.cnblogs.com/Terrylee/category/124829.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl10_Link" href="http://www.cnblogs.com/Terrylee/category/36514.html">[10]&nbsp;&nbsp;模式与实践(68)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl10_RssLink" title="Subscribe to [10]&amp;nbsp;&amp;nbsp;模式与实践(68)" href="http://www.cnblogs.com/Terrylee/category/36514.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl11_Link" href="http://www.cnblogs.com/Terrylee/category/48535.html">[11]&nbsp;&nbsp;数据持久(19)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl11_RssLink" title="Subscribe to [11]&amp;nbsp;&amp;nbsp;数据持久(19)" href="http://www.cnblogs.com/Terrylee/category/48535.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl12_Link" href="http://www.cnblogs.com/Terrylee/category/53293.html">[12]&nbsp;&nbsp;开源世界(35)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl12_RssLink" title="Subscribe to [12]&amp;nbsp;&amp;nbsp;开源世界(35)" href="http://www.cnblogs.com/Terrylee/category/53293.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl13_Link" href="http://www.cnblogs.com/Terrylee/category/44974.html">[13]&nbsp;&nbsp;代码生成(23)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl13_RssLink" title="Subscribe to [13]&amp;nbsp;&amp;nbsp;代码生成(23)" href="http://www.cnblogs.com/Terrylee/category/44974.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl14_Link" href="http://www.cnblogs.com/Terrylee/category/48958.html">[14]&nbsp;&nbsp;测试与重构(3)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl14_RssLink" title="Subscribe to [14]&amp;nbsp;&amp;nbsp;测试与重构(3)" href="http://www.cnblogs.com/Terrylee/category/48958.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl15_Link" href="http://www.cnblogs.com/Terrylee/category/124830.html">[15]&nbsp;&nbsp;工作流基础</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl15_RssLink" title="Subscribe to [15]&amp;nbsp;&amp;nbsp;工作流基础" href="http://www.cnblogs.com/Terrylee/category/124830.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl16_Link" href="http://www.cnblogs.com/Terrylee/category/162553.html">[16]&nbsp;&nbsp;技术曲苑杂坛(1)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl16_RssLink" title="Subscribe to [16]&amp;nbsp;&amp;nbsp;技术曲苑杂坛(1)" href="http://www.cnblogs.com/Terrylee/category/162553.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl17_Link" href="http://www.cnblogs.com/Terrylee/category/160783.html">[17]&nbsp;&nbsp;并行编程(1)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl17_RssLink" title="Subscribe to [17]&amp;nbsp;&amp;nbsp;并行编程(1)" href="http://www.cnblogs.com/Terrylee/category/160783.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl18_Link" href="http://www.cnblogs.com/Terrylee/category/58451.html">[18]&nbsp;&nbsp;动态语言(4)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl18_RssLink" title="Subscribe to [18]&amp;nbsp;&amp;nbsp;动态语言(4)" href="http://www.cnblogs.com/Terrylee/category/58451.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl19_Link" href="http://www.cnblogs.com/Terrylee/category/187123.html">[19] 写作生涯(2)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl19_RssLink" title="Subscribe to [19] 写作生涯(2)" href="http://www.cnblogs.com/Terrylee/category/187123.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl20_Link" href="http://www.cnblogs.com/Terrylee/category/36735.html">[20]&nbsp;&nbsp;推荐系列(32)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl20_RssLink" title="Subscribe to [20]&amp;nbsp;&amp;nbsp;推荐系列(32)" href="http://www.cnblogs.com/Terrylee/category/36735.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl21_Link" href="http://www.cnblogs.com/Terrylee/category/36515.html">[21]&nbsp;&nbsp;数据库相关(18)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl21_RssLink" title="Subscribe to [21]&amp;nbsp;&amp;nbsp;数据库相关(18)" href="http://www.cnblogs.com/Terrylee/category/36515.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl22_Link" href="http://www.cnblogs.com/Terrylee/category/43288.html">[30]&nbsp;&nbsp;前沿报道(28)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl22_RssLink" title="Subscribe to [30]&amp;nbsp;&amp;nbsp;前沿报道(28)" href="http://www.cnblogs.com/Terrylee/category/43288.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl23_Link" href="http://www.cnblogs.com/Terrylee/category/36511.html">[31]&nbsp;&nbsp;项目管理(3)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl23_RssLink" title="Subscribe to [31]&amp;nbsp;&amp;nbsp;项目管理(3)" href="http://www.cnblogs.com/Terrylee/category/36511.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl24_Link" href="http://www.cnblogs.com/Terrylee/category/148211.html">[32]&nbsp;&nbsp;我点我评(2)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl24_RssLink" title="Subscribe to [32]&amp;nbsp;&amp;nbsp;我点我评(2)" href="http://www.cnblogs.com/Terrylee/category/148211.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl25_Link" href="http://www.cnblogs.com/Terrylee/category/51852.html">[33]&nbsp;&nbsp;我思我考(13)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl25_RssLink" title="Subscribe to [33]&amp;nbsp;&amp;nbsp;我思我考(13)" href="http://www.cnblogs.com/Terrylee/category/51852.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl26_Link" href="http://www.cnblogs.com/Terrylee/category/51900.html">[34]&nbsp;&nbsp;社区活动(9)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl26_RssLink" title="Subscribe to [34]&amp;nbsp;&amp;nbsp;社区活动(9)" href="http://www.cnblogs.com/Terrylee/category/51900.html/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl27_Link" href="http://www.cnblogs.com/Terrylee/category/36507.html">[35]&nbsp;&nbsp;东拉西扯(37)</a> <a id="SingleColumn1_Categories_CatList_ctl00_LinkList_ctl27_RssLink" title="Subscribe to [35]&amp;nbsp;&amp;nbsp;东拉西扯(37)" href="http://www.cnblogs.com/Terrylee/category/36507.html/rss">(rss)</a></li>

</ul>

</div>

<div class="catListPostArchive">
<h3 class="catListTitle">随笔档案</h3>

<ul>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl01_Link" href="http://www.cnblogs.com/Terrylee/archive/2009/08.html">2009年8月 (1)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl02_Link" href="http://www.cnblogs.com/Terrylee/archive/2009/05.html">2009年5月 (1)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl03_Link" href="http://www.cnblogs.com/Terrylee/archive/2009/04.html">2009年4月 (3)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl04_Link" href="http://www.cnblogs.com/Terrylee/archive/2009/01.html">2009年1月 (2)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl05_Link" href="http://www.cnblogs.com/Terrylee/archive/2008/12.html">2008年12月 (4)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl06_Link" href="http://www.cnblogs.com/Terrylee/archive/2008/11.html">2008年11月 (10)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl07_Link" href="http://www.cnblogs.com/Terrylee/archive/2008/10.html">2008年10月 (12)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl08_Link" href="http://www.cnblogs.com/Terrylee/archive/2008/09.html">2008年9月 (3)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl09_Link" href="http://www.cnblogs.com/Terrylee/archive/2008/08.html">2008年8月 (5)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl10_Link" href="http://www.cnblogs.com/Terrylee/archive/2008/07.html">2008年7月 (13)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl11_Link" href="http://www.cnblogs.com/Terrylee/archive/2008/06.html">2008年6月 (10)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl12_Link" href="http://www.cnblogs.com/Terrylee/archive/2008/03.html">2008年3月 (41)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl13_Link" href="http://www.cnblogs.com/Terrylee/archive/2008/02.html">2008年2月 (5)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl14_Link" href="http://www.cnblogs.com/Terrylee/archive/2008/01.html">2008年1月 (13)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl15_Link" href="http://www.cnblogs.com/Terrylee/archive/2007/12.html">2007年12月 (15)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl16_Link" href="http://www.cnblogs.com/Terrylee/archive/2007/11.html">2007年11月 (7)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl17_Link" href="http://www.cnblogs.com/Terrylee/archive/2007/07.html">2007年7月 (3)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl18_Link" href="http://www.cnblogs.com/Terrylee/archive/2007/04.html">2007年4月 (2)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl19_Link" href="http://www.cnblogs.com/Terrylee/archive/2007/03.html">2007年3月 (4)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl20_Link" href="http://www.cnblogs.com/Terrylee/archive/2007/02.html">2007年2月 (2)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl21_Link" href="http://www.cnblogs.com/Terrylee/archive/2007/01.html">2007年1月 (6)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl22_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/12.html">2006年12月 (18)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl23_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/11.html">2006年11月 (32)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl24_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/10.html">2006年10月 (35)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl25_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/09.html">2006年9月 (19)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl26_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/08.html">2006年8月 (16)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl27_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/07.html">2006年7月 (23)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl28_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/06.html">2006年6月 (11)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl29_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/05.html">2006年5月 (13)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl30_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/04.html">2006年4月 (24)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl31_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/03.html">2006年3月 (17)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl32_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/02.html">2006年2月 (13)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl33_Link" href="http://www.cnblogs.com/Terrylee/archive/2006/01.html">2006年1月 (13)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl34_Link" href="http://www.cnblogs.com/Terrylee/archive/2005/12.html">2005年12月 (38)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl35_Link" href="http://www.cnblogs.com/Terrylee/archive/2005/11.html">2005年11月 (20)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl36_Link" href="http://www.cnblogs.com/Terrylee/archive/2005/10.html">2005年10月 (27)</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl01_LinkList_ctl37_Link" href="http://www.cnblogs.com/Terrylee/archive/2005/09.html">2005年9月 (10)</a> </li>

</ul>

</div>

<div class="catList">
<h3 class="catListTitle">个人站点</h3>

<ul>

<li><a id="SingleColumn1_Categories_CatList_ctl02_LinkList_ctl01_Link" href="http://terrylee.blog.51cto.com/" target="_top">TerryLee @ 51CTO</a> <a id="SingleColumn1_Categories_CatList_ctl02_LinkList_ctl01_RssLink" title="Subscribe to TerryLee @ 51CTO" href="http://terrylee.blog.51cto.com/">(rss)</a></li>
<li style="margin-top: 2px;">我在51CTO的镜像</li>
<li><a id="SingleColumn1_Categories_CatList_ctl02_LinkList_ctl02_Link" href="http://weblogs.asp.net/TerryLee/" target="_top">TerryLee @ ASP.NET</a> <a id="SingleColumn1_Categories_CatList_ctl02_LinkList_ctl02_RssLink" title="Subscribe to TerryLee @ ASP.NET" href="http://weblogs.asp.net/terrylee/rss.aspx">(rss)</a></li>
<li style="margin-top: 2px;">我在ASP.NET网站</li>
<li><a id="SingleColumn1_Categories_CatList_ctl02_LinkList_ctl03_Link" href="http://space.itpub.net/12184684/" target="_top">TerryLee @ IT168</a> <a id="SingleColumn1_Categories_CatList_ctl02_LinkList_ctl03_RssLink" title="Subscribe to TerryLee @ IT168" href="http://space.itpub.net/12184684/action-rss-type-">(rss)</a></li>
<li style="margin-top: 2px;">我在IT168的镜像</li>
<li><a id="SingleColumn1_Categories_CatList_ctl02_LinkList_ctl04_Link" href="http://blog.joycode.com/terrylee/" target="_top">TerryLee @ 博客堂</a> <a id="SingleColumn1_Categories_CatList_ctl02_LinkList_ctl04_RssLink" title="Subscribe to TerryLee @ 博客堂" href="http://blog.joycode.com/terrylee/Rss.aspx">(rss)</a></li>
<li style="margin-top: 2px;">我在博客堂的一片天地</li>
<li><a id="SingleColumn1_Categories_CatList_ctl02_LinkList_ctl05_Link" href="http://www.dotneteye.cn/" target="_top">个人主页</a> </li>

</ul>

</div>

<div class="catList">
<h3 class="catListTitle">我的好友</h3>

<ul>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl01_Link" href="http://chwkai.cnblogs.com/" target="_top">Aero</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl01_RssLink" title="Subscribe to Aero" href="http://chwkai.cnblogs.com/Rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl02_Link" href="http://anchky.cnblogs.com/" target="_top">anchky</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl02_RssLink" title="Subscribe to anchky" href="http://anchky.cnblogs.com/Rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl03_Link" href="http://www.cnblogs.com/anytao">Anytao</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl03_RssLink" title="Subscribe to Anytao" href="http://www.cnblogs.com/anytao/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl04_Link" href="http://www.cnblogs.com/autumoon" target="_top">Autumoon</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl04_RssLink" title="Subscribe to Autumoon" href="http://www.cnblogs.com/Autumoon/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl05_Link" href="http://www.cnblogs.com/renrenqq/" target="_top">DDL</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl05_RssLink" title="Subscribe to DDL" href="http://www.cnblogs.com/renrenqq/Rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl06_Link" href="http://dflying.cnblogs.com/" target="_top">Dflying Chen</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl06_RssLink" title="Subscribe to Dflying Chen" href="http://dflying.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl07_Link" href="http://dudu.cnblogs.com/" target="_top">Dudu</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl07_RssLink" title="Subscribe to Dudu" href="http://dudu.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl08_Link" href="http://perhaps.cnblogs.com/" target="_top">Fantasy Soft</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl08_RssLink" title="Subscribe to Fantasy Soft" href="http://perhaps.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl09_Link" href="http://idior.cnblogs.com/" target="_top">idior</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl09_RssLink" title="Subscribe to idior" href="http://idior.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl10_Link" href="http://www.cnblogs.com/jessequ" target="_top">JesseQu</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl10_RssLink" title="Subscribe to JesseQu" href="http://www.cnblogs.com/jessequ/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl11_Link" href="http://www.cnblogs.com/Jillzhang" target="_top">Jillzhang</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl11_RssLink" title="Subscribe to Jillzhang" href="http://www.cnblogs.com/jillzhang/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl12_Link" href="http://kid-li.cnblogs.com/" target="_top">kid-li</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl12_RssLink" title="Subscribe to kid-li" href="http://kid-li.cnblogs.com/Rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl13_Link" href="http://luking.cnblogs.com/" target="_top">luking</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl13_RssLink" title="Subscribe to luking" href="http://luking.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl14_Link" href="http://www.cnblogs.com/michellehu" target="_top">MichelleHu</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl14_RssLink" title="Subscribe to MichelleHu" href="http://www.cnblogs.com/michellehu/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl15_Link" href="http://blog.csdn.net/priderock" target="_top">PrideRock的专栏</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl15_RssLink" title="Subscribe to PrideRock的专栏" href="http://feeds.feedsky.com/csdn.net/PrideRock">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl16_Link" href="http://www.cnblogs.com/isuper/" target="_top">RogerTong </a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl16_RssLink" title="Subscribe to RogerTong " href="http://www.cnblogs.com/isuper/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl17_Link" href="http://www.cnblogs.com/Sunmoonfire" target="_top">Sunmoonfire</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl17_RssLink" title="Subscribe to Sunmoonfire" href="http://www.cnblogs.com/Sunmoonfire/Rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl18_Link" href="http://www.cnblogs.com/teddyma" target="_top">Teddy</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl18_RssLink" title="Subscribe to Teddy" href="http://www.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl19_Link" href="http://www.cnblogs.com/wayfarer" target="_top">wayfarer</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl19_RssLink" title="Subscribe to wayfarer" href="http://www.cnblogs.com/wayfarer/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl20_Link" href="http://hjf1223.cnblogs.com/" target="_top">阿不</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl20_RssLink" title="Subscribe to 阿不" href="http://hjf1223.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl21_Link" href="http://www.cnblogs.com/bvbook" target="_top">博文视点官方博客</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl21_RssLink" title="Subscribe to 博文视点官方博客" href="http://www.cnblogs.com/bvbook/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl22_Link" href="http://www.cnblogs.com/herohuo" target="_top">大人物中的小人物</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl22_RssLink" title="Subscribe to 大人物中的小人物" href="http://www.cnblogs.com/herohuo/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl23_Link" href="http://www.cnblogs.com/dingxue" target="_top">丁学</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl23_RssLink" title="Subscribe to 丁学" href="http://www.cnblogs.com/dingxue/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl24_Link" href="http://www.cnblogs.com/guaiguai/" target="_top">怪怪</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl24_RssLink" title="Subscribe to 怪怪" href="http://www.cnblogs.com/guaiguai/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl25_Link" href="http://www.cnblogs.com/callwangxiang" target="_top">蜡笔小巢</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl25_RssLink" title="Subscribe to 蜡笔小巢" href="http://www.cnblogs.com/callwangxiang/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl26_Link" href="http://www.cnblogs.com/waxdoll/" target="_top">蜡人张</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl26_RssLink" title="Subscribe to 蜡人张" href="http://waxdoll.cnblogs.com/Rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl27_Link" href="http://www.cnblogs.com/jeffreyzhao" target="_top">老赵</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl27_RssLink" title="Subscribe to 老赵" href="http://www.cnblogs.com/JeffreyZhao/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl28_Link" href="http://www.joygee.com/" target="_top">李茹</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl28_RssLink" title="Subscribe to 李茹" href="feed://http//www.joygee.com/feed/">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl29_Link" href="http://www.agilelabs.cn/blogs/linkin/default.aspx" target="_top">卢彦</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl29_RssLink" title="Subscribe to 卢彦" href="http://www.agilelabs.cn/blogs/linkin/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl30_Link" href="http://zhenyulu.cnblogs.com/" target="_top">吕震宇</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl30_RssLink" title="Subscribe to 吕震宇" href="http://zhenyulu.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl31_Link" href="http://www.cnblogs.com/lbq1221119" target="_top">罗炳桥</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl31_RssLink" title="Subscribe to 罗炳桥" href="http://www.cnblogs.com/lbq1221119/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl32_Link" href="http://lixianhuei.cnblogs.com/" target="_top">难得一蠢</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl32_RssLink" title="Subscribe to 难得一蠢" href="http://lixianhuei.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl33_Link" href="http://birdshome.cnblogs.com/" target="_top">鸟食轩</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl33_RssLink" title="Subscribe to 鸟食轩" href="http://birdshome.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl34_Link" href="http://bear-study-hard.cnblogs.com/" target="_top">努力学习的熊</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl34_RssLink" title="Subscribe to 努力学习的熊" href="http://bear-study-hard.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl35_Link" href="http://blog.donews.com/crabhn/" target="_top">螃蟹</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl35_RssLink" title="Subscribe to 螃蟹" href="http://blog.donews.com/crabhn/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl36_Link" href="http://crysta10203.blog.sohu.com/" target="_top">水晶心情</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl36_RssLink" title="Subscribe to 水晶心情" href="http://tb.sogou.com/rss?ch=it&amp;desc=%CB%D1%BA%FC%B2%A9%BF%CD%B6%A9%D4%C4&amp;url=http://crysta10203.blog.sohu.com/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl37_Link" href="http://xh831213.cnblogs.com/" target="_top">小寒</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl37_RssLink" title="Subscribe to 小寒" href="http://xh831213.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl38_Link" href="http://overred.cnblogs.com/" target="_top">雁儿飞飞</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl38_RssLink" title="Subscribe to 雁儿飞飞" href="http://overred.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl39_Link" href="http://www.cnblogs.com/justinyoung" target="_top">杨正祎</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl39_RssLink" title="Subscribe to 杨正祎" href="http://www.cnblogs.com/JustinYoung/rss">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl40_Link" href="http://goodcandle.cnblogs.com/" target="_top">源码工作室</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl40_RssLink" title="Subscribe to 源码工作室" href="http://goodcandle.cnblogs.com/rss.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl41_Link" href="http://www.cnblogs.com/msdpe/" target="_top">张大磊</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl41_RssLink" title="Subscribe to 张大磊" href="http://www.cnblogs.com/msdpe/RSS.aspx">(rss)</a></li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl42_Link" href="http://www.cyworld.com.cn/qiansui" target="_top">张莹</a> </li>

<li><a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl43_Link" href="http://www.cnblogs.com/zhouyinhui" target="_top">周银辉</a> <a id="SingleColumn1_Categories_CatList_ctl03_LinkList_ctl43_RssLink" title="Subscribe to 周银辉" href="http://www.cnblogs.com/zhouyinhui/rss">(rss)</a></li>

</ul>

</div>



<div class="catListBlogRank">
<h3 class="catListTitle">积分与排名</h3>
<ul>
	<li class="liScore">
		积分 -	5250874
	</li><li class="liRank">
		排名 -	3
	</li>
</ul>
</div>



<div class="catListView">
<h3 class="catListTitle">阅读排行榜</h3>
	
			<ul>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl01_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/07/17/334911.html">1.&nbsp;.NET设计模式系列文章(240785)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl02_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/11/12/ASPNET_AJAX_QuickStarts.html">2.&nbsp;ASP.NET AJAX入门系列(162046)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl03_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2007/12/09/the-ultimate-jquery-plugin-list.html">3.&nbsp;强烈推荐：240多个jQuery插件(160249)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl04_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2008/03/21/Silverlight2-step-by-step-Tutorials.html">4.&nbsp;一步一步学Silverlight 2系列文章(94439)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl05_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/10/25/ASPNET_AJAX_ScriptManager.html">5.&nbsp;ASP.NET AJAX入门系列（2）：使用ScriptManager控件(88540)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl06_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/08/01/Enterprise_Library.html">6.&nbsp;Enterprise Library系列文章回顾与总结(87348)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl07_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/04/28/castl_ioc_article.html">7.&nbsp;Castle 开发系列文章(87221)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl08_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2005/12/09/293509.html">8.&nbsp;.NET设计模式（2）：单件模式（Singleton Pattern）(85295)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl09_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2005/09/28/246050.html">9.&nbsp;今天下午真郁闷……(79632)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl10_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2005/12/13/295965.html">10.&nbsp;.NET设计模式（3）：抽象工厂模式（Abstract Factory）(73903)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl11_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/10/24/ASPNET_AJAX_Quick_Starts_Overview.html">11.&nbsp;ASP.NET AJAX入门系列（1）：概述(67798)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl12_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2008/03/07/Silverlight2-step-by-step-part1.html">12.&nbsp;一步一步学Silverlight 2系列（1）：创建一个基本的Silverlight应用(49550)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl13_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/01/04/310716.html">13.&nbsp;.NET设计模式（5）：工厂方法模式（Factory Method）(47209)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl14_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/10/29/ASPNET_AJAX_UpdatePanel_Part1.html">14.&nbsp;ASP.NET AJAX入门系列（4）：使用UpdatePanel控件（一）(44878)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl15_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/04/03/365762.html">15.&nbsp;Castle ActiveRecord学习实践（1）：快速入门指南(44506)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl16_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2005/12/09/293465.html">16.&nbsp;.NET设计模式（1）：开篇(36398)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl17_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2005/10/14/254631.html">17.&nbsp;Enterprise Library Step By Step系列（一）：配置应用程序块——入门篇(36023)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl18_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2005/12/19/299878.html">18.&nbsp;.NET设计模式（4）：建造者模式（Builder Pattern）(34152)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl19_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2005/12/28/306254.html">19.&nbsp;CodeSmith开发系列资料总结(30459)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl20_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/12/01/OpenSource_Framework_And_Resource_Recommendation_Overview.html">20.&nbsp;.NET开源项目介绍及资源推荐：序(30351)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl21_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2008/03/07/Silverlight2-step-by-step-part2.html">21.&nbsp;一步一步学Silverlight 2系列（2）：基本控件(29159)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl22_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/10/27/ASPNET_AJAX_ScriptManagerProxy.html">22.&nbsp;ASP.NET AJAX入门系列（3）：使用ScriptManagerProxy控件(28846)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl23_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/09/01/atlas_series_articles.html">23.&nbsp;Atlas学习手记系列(28339)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl24_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/10/23/Observer_Pattern.html">24.&nbsp;.NET设计模式（19）：观察者模式（Observer Pattern）(28231)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl02_TopList_ctl25_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/11/01/ASPNET_AJAX_UpdatePanle_Part2.html">25.&nbsp;ASP.NET AJAX入门系列（5）：使用UpdatePanel控件（二）(27899)</a>
			</li>
		
			</ul>
		
</div>

<div class="catListFeedback">
<h3 class="catListTitle">评论排行榜</h3>
	
			<ul>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl01_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2005/10/13/253667.html">1.&nbsp;如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复(395)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl02_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/07/17/334911.html">2.&nbsp;.NET设计模式系列文章(355)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl03_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2009/01/05/LINQ-and-LINQ-to-SQL.html">3.&nbsp;不得不为LINQ说几句话，驳“LINQ已死”论(318)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl04_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2008/03/21/Silverlight2-step-by-step-Tutorials.html">4.&nbsp;一步一步学Silverlight 2系列文章(246)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl05_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/01/04/310968.html">5.&nbsp;CodeSmith3.0开发资料下载(233)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl06_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2005/12/13/295965.html">6.&nbsp;.NET设计模式（3）：抽象工厂模式（Abstract Factory）(216)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl07_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/05/23/406688.html">7.&nbsp;新版设计模式手册[C#]下载(216)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl08_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/10/25/ASPNET_AJAX_ScriptManager.html">8.&nbsp;ASP.NET AJAX入门系列（2）：使用ScriptManager控件(179)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl09_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2007/12/09/the-ultimate-jquery-plugin-list.html">9.&nbsp;强烈推荐：240多个jQuery插件(168)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl10_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/11/12/ASPNET_AJAX_QuickStarts.html">10.&nbsp;ASP.NET AJAX入门系列(168)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl11_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/04/03/365762.html">11.&nbsp;Castle ActiveRecord学习实践（1）：快速入门指南(166)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl12_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/04/28/castl_ioc_article.html">12.&nbsp;Castle 开发系列文章(164)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl13_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/10/23/Observer_Pattern.html">13.&nbsp;.NET设计模式（19）：观察者模式（Observer Pattern）(162)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl14_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/08/01/Enterprise_Library.html">14.&nbsp;Enterprise Library系列文章回顾与总结(158)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl15_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/01/04/310716.html">15.&nbsp;.NET设计模式（5）：工厂方法模式（Factory Method）(158)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl16_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2005/12/09/293509.html">16.&nbsp;.NET设计模式（2）：单件模式（Singleton Pattern）(153)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl17_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/03/21/354972.html">17.&nbsp;天津.NET俱乐部成立了！(146)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl18_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2006/10/29/ASPNET_AJAX_UpdatePanel_Part1.html">18.&nbsp;ASP.NET AJAX入门系列（4）：使用UpdatePanel控件（一）(133)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl19_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2007/12/04/TemplateEngine-Smart-Code-Preview.html">19.&nbsp;基于模板引擎的代码生成器Smart Code预览(129)</a>
			</li>
		
			<li>
				<a id="SingleColumn1_ctl03_TopList_ctl20_Hyperlink1" href="http://www.cnblogs.com/Terrylee/archive/2008/03/07/Silverlight2-step-by-step-part1.html">20.&nbsp;一步一步学Silverlight 2系列（1）：创建一个基本的Silverlight应用(125)</a>
			</li>
		
			</ul>
		
</div>

			</div>
			
		</div><!--end: sideBarMain -->
	</div><!--end: sideBar 侧边栏容器 -->
	<div class="clear"></div>
	</div><!--end: main -->
	<div class="clear"></div>
	<div id="footer">
		
<!--done-->
Copyright ©2010 TerryLee
	</div><!--end: footer -->
</div><!--end: home 自定义的最大容器 -->
    </form>
	
	
      
    
    
    
</body>
</html>
